vkladani tabulky do Wordu - OLE
Otázka od: Martin Bednar
28. 5. 2004 7:25
DD,
potrebuji poradit s nasl. problemem. Potrebuji vkladat na urcite misto
ve Word dokumentu tabulku pomoci OLE. Tu umim vytvorit i vlozit, ale
pouze na zacatek dokumentu. Tabulku vkladam nejak takto:
WordTable := Doc.Tables.Add( WordApp.Selection.Range, iRows ,iCols );
Jak Wordu rict v Delphi, aby ji vytvoril na nejakem konkretnim miste (
parametr: WordApp.Selection.Range ).
Dekuji mnohokrate za pomoc.
--
S pozdravem,
Martin Bednar
bednar@mujweb.cz
patek 28. kvetna 2004 8:00:59
Odpovedá: Jan Harman
28. 5. 2004 11:21
> potrebuji poradit s nasl. problemem. Potrebuji vkladat na urcite misto
> ve Word dokumentu tabulku pomoci OLE. Tu umim vytvorit i vlozit, ale
> pouze na zacatek dokumentu. Tabulku vkladam nejak takto:
>
> WordTable := Doc.Tables.Add( WordApp.Selection.Range, iRows ,iCols );
>
> Jak Wordu rict v Delphi, aby ji vytvoril na nejakem konkretnim miste (
> parametr: WordApp.Selection.Range ).
WordApp.Selection.Find.Execute...
...presune kurzor na nalezeny text, ale nevim jestli tam vlozi tu tabulku,
zkus to a dej vedet. Pokud umis i naplnit tabulku, tak bych te poprosil o
priklad. Diky.
Honza
Odpovedá: Martin Bednar
28. 5. 2004 12:04
Tabulku plnim napr. nejak takto:
for iGridRows := 1 to iRows do
for jGridCols := 1 to iCols do
WordTable.Cell(iGridRows, jGridCols).Range.Text := 'abcdefgh';
Muj problem je v tom, ze potrebuji nejak nastavit "range".
Doc := WordApp.ActiveDocument;
Doc.Range(0,9);
Doc.Select;
^^^Toto mi vybere a oznaci prvnich 9 znaku v dokumentu, ale to je mi
nanic pocitat znaky do mista, kam chci tab. umistit ?!!!
Melo by snad fugovat i toto:
Doc.SetRange( Doc.Sentences(2).Start , Doc.Sentences(4).end );
coz by melo oznacit 2. az 4. vetu, coy uz by pouzitelne bylo, ale
takto zapsane delphi zahlasi, ze "sentences neni metoda", takze
neporadi nekdo jak se dostat na konkretni misto v dokumentu wordu,
predem dekuji.
------------
S pozdravem,
Martin Bednar
bednar@mujweb.cz
patek 28. kvetna 2004 12:51:00
>> WordTable := Doc.Tables.Add( WordApp.Selection.Range, iRows ,iCols );
>>
>> Jak Wordu rict v Delphi, aby ji vytvoril na nejakem konkretnim miste (
>> parametr: WordApp.Selection.Range ).
JH> WordApp.Selection.Find.Execute...
JH> ...presune kurzor na nalezeny text, ale nevim jestli tam vlozi tu tabulku,
JH> zkus to a dej vedet. Pokud umis i naplnit tabulku, tak bych te poprosil o
JH> priklad. Diky.
JH> Honza
Odpovedá: Pave Gazda
28. 5. 2004 13:27
Ahoj,
> coz by melo oznacit 2. az 4. vetu, coy uz by pouzitelne bylo, ale
> takto zapsane delphi zahlasi, ze "sentences neni metoda", takze
> neporadi nekdo jak se dostat na konkretni misto v dokumentu wordu,
> predem dekuji.
posun o pocet znaku:
OChar := wdCharacter;
OCount:= Pocet;
MWord.Dokumenty[idx].Activate;
if Boolean(Vpravo) then
MWord.Dokumenty[Idx].Application.Selection.MoveRight(OChar,OCount,EmptyParam
)
else
MWord.Dokumenty[Idx].Application.Selection.MoveLeft(OChar,OCount,EmptyParam)
;
posun o pocet radku:
OLine := wdLine;
OCount:= Pocet;
MWord.Dokumenty[idx].Activate;
if Boolean(Dolu) then
MWord.Dokumenty[Idx].Application.Selection.MoveDown(OLine,OCount,EmptyParam)
else
MWord.Dokumenty[Idx].Application.Selection.MoveUp(OLine,OCount,EmptyParam);
Pavel Gazda
placeny amater